Micron Document
`:top
L’`*`!Address Resolution Protocol`!`* (ARP, protocole de résolution d’adresse) est un `F33f`_`[protocole`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Protocole_de_communication]`_`f utilisé pour associer l'adresse de protocole de `F33f`_`[couche réseau`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Couche_réseau]`_`f (typiquement une `F33f`_`[adresse IPv4`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Adresse_IPv4]`_`f) d'un hôte distant, à son adresse de protocole de `F33f`_`[couche de liaison`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Couche_de_liaison]`_`f (typiquement une `F33f`_`[adresse MAC`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Adresse_MAC]`_`f). Il se situe à l’interface entre la `F33f`_`[couche réseau`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Couche_réseau]`_`f (couche 3 du `F33f`_`[modèle OSI`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Modèle_OSI]`_`f) et la `F33f`_`[couche de liaison`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Couche_de_liaison]`_`f (couche 2 du `F33f`_`[modèle OSI`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Modèle_OSI]`_`f).

Il a été défini en 1982 dans la `*`F33f`_`[Request for comments`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Request_for_comments]`_`f`* RFC 826`:cite-ref-rfc-826-1-0[`F5bf`_`[1`#cite-note-rfc-826-1]`_`f] : `*An Ethernet Address Resolution Protocol`*.

Le protocole ARP est nécessaire au fonctionnement d’IPv4 utilisé au-dessus d’un réseau de type `F33f`_`[Ethernet`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Ethernet]`_`f. En `F33f`_`[IPv6`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=IPv6]`_`f, les fonctions de ARP sont reprises par le `*`F33f`_`[Neighbor Discovery Protocol`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Neighbor_Discovery_Protocol]`_`f`* (NDP).

Dans la suite de l’article, le terme d'adresse IP est utilisé pour parler d’adresse IPv4.

>>Contents

• `F0af`_`[Fonctionnement`#fonctionnement]`_`f
• `F0af`_`[Commande ARP`#commande-arp]`_`f
• `F0af`_`[Sécurité du protocole ARP`#s-curit-du-protocole-arp]`_`f
• `F0af`_`[Paquets ARP`#paquets-arp]`_`f
• `F0af`_`[Requêtes ARP spontanées`#requ-tes-arp-spontan-es]`_`f
• `F0af`_`[Voir aussi`#voir-aussi]`_`f
• `F0af`_`[Articles connexes`#articles-connexes]`_`f
• `F0af`_`[Liens externes`#liens-externes]`_`f
• `F0af`_`[Notes et références`#notes-et-r-f-rences]`_`f

-─

>>Fonctionnement

Un `F33f`_`[ordinateur`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Ordinateur]`_`f connecté à un `F33f`_`[réseau informatique`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Réseau_informatique]`_`f souhaite émettre une trame `F33f`_`[Ethernet`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Ethernet]`_`f à destination d’un autre ordinateur dont il connaît l’`F33f`_`[adresse IP`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Adresse_IP]`_`f et placé dans le même `F33f`_`[sous-réseau`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Sous-réseau]`_`f. Dans ce cas, cet ordinateur va placer son émission en attente et effectuer une requête ARP en `F33f`_`[broadcast`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Broadcast_(informatique)]`_`f de niveau 2. Cette requête est de type « quelle est l’`F33f`_`[adresse MAC`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Adresse_MAC]`_`f correspondant à l’`F33f`_`[adresse IP`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Adresse_IP]`_`f `*adresseIP`* ? Répondez à `*monAdresseIP`* ».

Puisqu’il s’agit d’un `F33f`_`[broadcast`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Broadcast_(informatique)]`_`f, tous les ordinateurs du segment vont recevoir la requête. En observant son contenu, ils pourront déterminer quelle est l’adresse IP sur laquelle porte la recherche. La machine qui possède cette adresse IP sera la seule à répondre en envoyant à la machine émettrice une réponse ARP du type « je suis `*adresseIP`*, mon adresse MAC est `*adresseMAC`* ». Pour émettre cette réponse au bon ordinateur, il crée une entrée dans son `F33f`_`[cache ARP`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Cache_ARP]`_`f à partir des données contenues dans la requête ARP qu’il vient de recevoir.

La machine à l’origine de la requête ARP reçoit la réponse, met à jour son `F33f`_`[cache ARP`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Cache_ARP]`_`f et peut donc envoyer à l’ordinateur concerné le message qu’elle avait mis en attente.

Il suffit donc d’un `F33f`_`[broadcast`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Broadcast_(informatique)]`_`f et d’un `*`F33f`_`[unicast`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Unicast]`_`f`* pour créer une entrée dans le `F33f`_`[cache ARP`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Cache_ARP]`_`f de deux ordinateurs.

>>Commande ARP

La commande `*`B100`F9d9arp`f`b`* permet la consultation et parfois la modification de la table ARP dans certains systèmes d’exploitation. Cette commande est utile pour détecter de potentielles `F33f`_`[vulnérabilités`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Vulnérabilité_(informatique)]`_`f.

• `B100`F9d9arp -a`f`b : affiche toutes les entrées dans le cache ARP.
• `B100`F9d9arp -a @ip`f`b : dans le cas où il y a plusieurs cartes réseau, on peut faire l’affichage du cache associé à une seule @ip.
• `B100`F9d9arp -s @ip @MAC`f`b : ajout manuel d’une entrée statique permanente dans le cache (ce besoin se manifeste si on appelle régulièrement des hôtes, pour réduire le trafic réseau).

>>Sécurité du protocole ARP

Le protocole ARP a été conçu sans souci particulier de sécurité. Il est vulnérable à des attaques locales sur le segment reposant principalement sur l’envoi de messages ARP erronés à un ou plusieurs ordinateurs. Elles sont regroupées sous l’appellation `*`F33f`_`[ARP poisoning`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=ARP_poisoning]`_`f`* (pollution de `F33f`_`[cache ARP`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Cache_ARP]`_`f). La vulnérabilité d’un ordinateur à la pollution de cache ARP dépend de la mise en œuvre du protocole ARP par son `F33f`_`[système d’exploitation`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Système_d'exploitation]`_`f.

Soit une machine Charlie qui souhaite intercepter les messages d’Alice vers Bob, toutes appartenant au même sous-réseau. L’attaque consiste pour Charlie à envoyer un `F33f`_`[paquet`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Paquet_(réseau)]`_`f « `B100`F9d9arp who-has`f`b » à la machine d’Alice. Ce paquet spécialement construit contiendra comme IP source, l’adresse IP de la machine de Bob dont nous voulons usurper l’identité (`*ARP spoofing`*) et l’`F33f`_`[adresse MAC`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Adresse_MAC]`_`f de la `F33f`_`[carte réseau`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Carte_réseau]`_`f de Charlie. La machine d’Alice va ainsi créer une entrée associant notre adresse MAC à l’adresse IP de la machine de Bob. Alice, destinataire de l’« `B100`F9d9arp who-has`f`b », utilise le paquet pour créer une entrée dans sa table MAC. Si Alice veut communiquer avec Bob au niveau IP, c’est Charlie qui recevra les trames d’Alice puisque son adresse MAC est enregistrée dans le cache empoisonné de Alice comme équivalence pour l’IP du poste Bob. Ceci est une faiblesse connue de la mise en œuvre d’ARP et permet de corrompre facilement un cache ARP distant.

Ces attaques peuvent permettre une écoute des communications entre deux machines (`F33f`_`[attaque de l’homme du milieu`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Attaque_de_l'homme_du_milieu]`_`f), le vol de connexion, une surcharge des `F33f`_`[commutateurs`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Commutateur_réseau]`_`f servant de structure au `F33f`_`[réseau informatique`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Réseau_informatique]`_`f ou un `F33f`_`[déni de service`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Déni_de_service]`_`f (en effectuant une attaque de l’homme du milieu puis en refusant les paquets).

Pour lutter contre ce type d’attaque, il est possible :

• de mettre en place des entrées statiques dans le `F33f`_`[cache ARP`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Cache_ARP]`_`f de chaque machine du réseau (commande `*`B100`F9d9arp -s`f`b`*). Ceci n’est applicable qu’à un faible nombre de machines (on privilégie les plus critiques, comme les serveurs et les passerelles). Sur les `F33f`_`[systèmes d’exploitation`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Système_d'exploitation]`_`f `F33f`_`[Microsoft Windows`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Microsoft_Windows]`_`f antérieurs à la version `F33f`_`[XP`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Windows_XP]`_`f, une entrée statique peut être mise à jour, la seule différence est qu’elle n’expire pas ;
• de limiter les adresses MAC sur chaque port (renseignement statique) des `F33f`_`[commutateurs`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Commutateur_réseau]`_`f s’ils le permettent (fonction `*Port Security`*). Les commutateurs de niveau 3 par exemple offrent la possibilité de paramétrer des associations port/MAC/IP statiques. Mais cela rend évidemment plus difficile la maintenance du parc ;
• de surveiller les messages ARP circulant sur le réseau, à l’aide d’outils de surveillance tels qu’ARPwatch`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f] ou arpalert`:cite-ref-3[`F5bf`_`[3`#cite-note-3]`_`f] ou de `F33f`_`[systèmes de détection d’intrusion`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Système_de_détection_d'intrusion]`_`f (IDS).

Chaque entrée dans la table ARP a une durée de vie, ce qui oblige l’attaquant à corrompre régulièrement le cache de la victime. Certains `F33f`_`[systèmes d’exploitation`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Système_d'exploitation]`_`f comme `F33f`_`[Solaris`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Solaris_(système_d'exploitation)]`_`f permettent de modifier la valeur de ce temps d’expiration (commande `B100`F9d9ndd`f`b). Une valeur courte rendra la corruption plus facilement visible.

>>Paquets ARP

Les paquets ARP sont transportés sur la couche liaison de données. Dans le cas d'un transport Ethernet, on utilise l'`F33f`_`[EtherType`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=EtherType]`_`f 0x0806. Le détail du paquet ARP est donné ci-dessous :

avec :

`!`*Hardware type`* (`*Type de matériel`*)`:cite-ref-4[`F5bf`_`[4`#cite-note-4]`_`f]`!

Ce champ spécifie le protocole de couche 2 utilisé. Par exemple, Ethernet (10Mb) a la valeur 1, `*Experimental Ethernet`* (3Mb) a la valeur 2.

`!`*Protocol type`* (`*Type de protocole`*)`!

Ce champ spécifie le protocole de couche 3 utilisé. Par exemple `F33f`_`[IPv4`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=IPv4]`_`f a la valeur 0x0800. Ce champ prend les mêmes valeurs que les EtherTypes.

`!`*Hardware Address Length`* (`*Longueur de l’adresse physique`*)`!

Ce champ correspond à la longueur de l’adresse physique. La longueur doit être prise en octets. Par exemple, une adresse Ethernet a la valeur 6 ; une adresse `*Token Ring`* a la valeur 1.

`!`*Protocol Address Length`* (`*Longueur de l’adresse logique`*)`!

Ce champ correspond à la longueur de l’adresse réseau. La longueur doit être prise en octets. Par exemple, une adresse IP a la valeur 4.

`!`*Operation`* `*(Opération)`*`!

Ce champ permet de connaître la fonction du message et donc son objectif. Il vaut soit 1 pour une requête (`*Request`*), soit 2 pour une réponse (`*Reply`*).

`!`*Sender Hardware Address`* `*(Adresse physique de l'émetteur)`*`!

Adresse MAC du nœud émetteur. Cette adresse n'est pas forcément identique à l'adresse source de la trame Ethernet transportant le paquet ARP, cela arrive quand un nœud répond à la place d'un autre.

`!`*Sender Prococol Address`* `*(Adresse logique de l'émetteur)`*`!

Adresse IP de l'interface du nœud émetteur, associé à l'adresse physique.

`!`*Target Hardware Address`* `*(Adresse physique cible)`*`!

Adresse MAC de l'interface du nœud destinataire. Dans le cadre d'un paquet ARP de type requête, ce champ est mis à zéro car c'est justement celle-ci que l'émetteur cherche à connaître.

`!`*Target Protocol Address`* `*(Adresse logique cible)`*`!

Adresse IP de l'interface du nœud destinataire, associé à l'adresse physique.

>>Requêtes ARP spontanées

Des requêtes ARP spontanées (`*gratuitous ARP`*) sont envoyées au démarrage de certains systèmes d'exploitation, par exemple, certains modems-routeurs. Elles permettent à cet équipement, nouvel arrivant sur le réseau, de vérifier que son adresse IP n'existe pas déjà, ce qui évite des conflits par doublon d'adresse IP`:cite-ref-5[`F5bf`_`[5`#cite-note-5]`_`f]. L'interface expéditrice de la requête n'attend aucune réponse. La mise à jour de la `F33f`_`[mémoire tampon`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Mémoire_tampon]`_`f des systèmes connectés au réseau est alors assurée. Les `F33f`_`[commutateurs`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Commutateur_réseau]`_`f sont informés de l'existence de l'adresse MAC de la machine en question. L'ensemble de ces actions assure une plus grande rapidité ultérieure de connexion au réseau. Une multitude d'émission de ces types de requêtes peut être un indicateur de câble défectueux entraînant des reconnexions fréquentes`:cite-ref-6[`F5bf`_`[6`#cite-note-6]`_`f].

>>Voir aussi

>>>Articles connexes

• `*`F33f`_`[ARP poisoning`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=ARP_poisoning]`_`f`*
• `F33f`_`[Filtrage par adresse MAC`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Filtrage_par_adresse_MAC]`_`f
• `*`F33f`_`[Reverse address resolution protocol`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Reverse_address_resolution_protocol]`_`f`*
• `F33f`_`[Usurpation d’adresse IP`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Usurpation_d'adresse_IP]`_`f
• `F33f`_`[Mandataire ARP`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Mandataire_ARP]`_`f

>>>Liens externes

• (en) RFC 826`:cite-ref-rfc-826-1-1[`F5bf`_`[1`#cite-note-rfc-826-1]`_`f] `*An Ethernet Address Resolution Protocol`*
• (en) RFC 2390`:cite-ref-rfc-2390-7-0[`F5bf`_`[7`#cite-note-rfc-2390-7]`_`f] `*Inverse Address Resolution Protocol`*
• (en) RFC 5494`:cite-ref-rfc-5494-8-0[`F5bf`_`[8`#cite-note-rfc-5494-8]`_`f] `*IANA Allocation Guidelines for the Address Resolution Protocol (ARP)`*
• (en) ARP Parameters (`F33f`_`[IANA`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Internet_Assigned_Numbers_Authority]`_`f)
• (fr) Jouer avec le protocole ARP
• (fr) ARP sur FrameIP
• (fr) « Outil gratuit permettant de générer des datagrammes ARP » (version du 27 février 2012 sur `*`F33f`_`[Internet Archive`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Internet_Archive]`_`f`*) `F33f`_`[Code source`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Code_source]`_`f en `F33f`_`[C`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=C_(langage)]`_`f fourni

>>Notes et références

`:cite-note-rfc-826-1`!1.`! (en) Request for comments no 826
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f Outil du `*Network Research Group`* (NRG), `*the Information and Computing Sciences Division`* (ICSD), `*Lawrence Berkeley National Laboratory`* (LBNL) `*LBNL’s Network Research Group`*.
`:cite-note-3`!3.`! `F0af`_`[↑`#cite-ref-3]`_`f arpalaert.
`:cite-note-4`!4.`! `F0af`_`[↑`#cite-ref-4]`_`f `*Hardware Types`*, sur le site de l’`F33f`_`[IANA`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Internet_Assigned_Numbers_Authority]`_`f.
`:cite-note-5`!5.`! `F0af`_`[↑`#cite-ref-5]`_`f Notons que la RFC 3927 déconseille des envois périodiques de requêtes ARP gratuites.
`:cite-note-6`!6.`! `F0af`_`[↑`#cite-ref-6]`_`f `*Gratuitous ARP`* selon WireShark
`:cite-note-rfc-2390-7`!7.`! `F0af`_`[↑`#cite-ref-rfc-2390-7-0]`_`f (en) Request for comments no 2390
`:cite-note-rfc-5494-8`!8.`! `F0af`_`[↑`#cite-ref-rfc-5494-8-0]`_`f (en) Request for comments no 5494

• Portail de l’informatique
• Portail des télécommunications

`c`F0af`_`[↑ Back to top`#top]`_`f`a